/*
 * 文件名： WechatWcPayInteractRemoteService.java
 * 
 * 工程名称: remote-bank
 *
 * Gopay
 *
 * 创建日期： 2016年10月9日
 *
 * Copyright(C) 2016, by www.gopay.com.cn Inc.All rights reserved.
 *
 * 原始作者: 宣广海
 *
 */
package com.gopay.remote.bank;

import com.gopay.common.Result;
import com.gopay.common.domain.bank.BaseMessage;
import com.gopay.common.exception.GopayException;

/**
 * 微信公众号支付业务接口
 *
 * @author 宣广海
 *
 * @version
 *
 * @since 2016年10月9日
 */
public interface WcPayInteractRemoteService {

	/**
	 * 
	 * 功能描述：支付接口
	 *
	 * @param msg
	 * @return
	 * @throws GopayException
	 * 
	 * @author 宣广海
	 *
	 * @since 2016年10月9日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public Result pay(BaseMessage msg) throws GopayException;

	/**
	 * 
	 * 功能描述：订单查询接口
	 *
	 * @param msg
	 * @return
	 * @throws GopayException
	 * 
	 * @author 宣广海
	 *
	 * @since 2016年10月9日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public Result orderQuery(BaseMessage msg) throws GopayException;

	/**
	 * 
	 * 功能描述：退款接口
	 *
	 * @param msg
	 * @return
	 * @throws GopayException
	 * 
	 * @author 宣广海
	 *
	 * @since 2016年10月9日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public Result refund(BaseMessage msg) throws GopayException;

	/**
	 * 
	 * 功能描述：退款查询接口
	 *
	 * @param msg
	 * @return
	 * @throws GopayException
	 * 
	 * @author 宣广海
	 *
	 * @since 2016年10月9日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public Result refundQuery(BaseMessage msg) throws GopayException;

	/**
	 * 
	 * 功能描述：异步通知验签
	 *
	 * @param msg
	 * @return
	 * @throws GopayException
	 * 
	 * @author 宣广海
	 *
	 * @since 2016年8月5日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public Result verify(BaseMessage msg) throws GopayException;

}
